public interface StatusGenerator<INPUT, OUTPUT, MESSAGE> {
	public Status<MESSAGE> createStatus(INPUT input, OUTPUT output);
	public Status<MESSAGE> createStatus(ReaderException exception);
	public Status<MESSAGE> createStatus(INPUT input, ProcessorException exception);
	public Status<MESSAGE> createStatus(INPUT input, OUTPUT output, WriterException exception);
	public Status<MESSAGE> createStatus(CommunicationException exception);
	public Status<MESSAGE> createStatus(RuntimeException exception);
	public Status<MESSAGE> createStatus(Exception exception);
}

